A Cooperative Coevolution Approach to Automate Pattern-based Software Architectural Synthesis
نویسندگان
چکیده
To reuse successful experience in software architecture design, architects use architectural patterns as reusable architectural knowledge for architectural synthesis. However, it has been observed that the resulting architecture does not always conform to the initial architectural patterns employed. Architectural synthesis using architectural patterns is also recognized as a challenging task, especially for novice architects due to lack of experience. In this paper, we propose a cooperative coevolution approach to automate architectural synthesis using architectural patterns. We ̄rst analyze several common architectural patterns and the constraints when using them. We then extend existing architectural synthesis activity with patterns based on the results of this analysis. Finally, we map the extended architectural synthesis to a cooperative coevolution model, which can optimize the resulting architectural solutions and avoid the violations to the pattern constraints automatically. We evaluate the proposed approach through a case study: architecture design of a cinema booking system. The results show that the proposed approach can generate architectural solutions which are closer to the expert design.
منابع مشابه
Automated Software Architectural Synthesis using Patterns: A Cooperative Coevolution Approach
In software architecting process, architects use architectural patterns as reusable architectural knowledge for architectural synthesis. However, it has been observed that the resulting architecture does not always conform to the initial architectural patterns employed. Architectural synthesis using architectural patterns is also recognized as a challenging task, especially for novice architect...
متن کاملCo-evolving Pattern Synthesis and Class Responsibility Assignment in Architectural Synthesis
Architectural synthesis (AS) activity plays a key role in architecture design as it essentially links the problem to the solution space. To reuse successful design experience, architects may use architectural patterns in AS to generate candidate solutions. In a pattern-based AS, there are two challenges: one is class responsibility assignment (CRA) when using specific patterns and the other is ...
متن کاملEngineering and implementing software architectural patterns based on feedback loops
A highly decentralized system of autonomous service components consists of multiple and interacting feedback loops which can be organized into a variety of architectural patterns. The highly complex nature of these loops make engineering and implementation of these patterns a very challenging task. In this paper, we present SimSOTA—an integrated Eclipse plug-in to architect, engineer and implem...
متن کاملCooperative Co-evolutionary Optimization of Software Project Staff Assignments and Job Scheduling
This paper presents an approach to Search Based Software Project Management based on Cooperative Co-evolution. Our approach aims to optimize both developers’ team staffing and work package scheduling through cooperative co-evolution to achieve early overall completion time. To evaluate our approach, we conducted an empirical study, using data from four real-world software projects. Results indi...
متن کاملPattern-Based Exploration of Design Alternatives for the Evolution of Software Architectures
We propose a pattern-based software development method comprising analysis (using problem frames) and design (using architectural and design patterns), from which especially evolving systems benefit. Evolution operators guide a pattern-based transformation procedure, including re-engineering tasks for adjusting a given software architecture to meet new system demands. Through application of the...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید
ثبت ناماگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید
ورودعنوان ژورنال:
- International Journal of Software Engineering and Knowledge Engineering
دوره 24 شماره
صفحات -
تاریخ انتشار 2014